home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/python
- # software-properties - graphical abstraction of the sources.list
- #
- # Copyright (c) 2004,2005 Canonical
- # 2004,2005 Michiel Sikkes
- #
- # Author: Michiel Sikkes <michiel@eyesopened.nl>
- # Michael Vogt <mvo@debian.org>
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License as
- # published by the Free Software Foundation; either version 2 of the
- # License, or (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- # USA
-
- import pygtk
- pygtk.require('2.0')
- import gtk
- import gtk.gdk
- import gtk.glade
- import gobject
- import gettext
- import os
- import sys
-
- gtk.gdk.threads_init()
-
- from optparse import OptionParser
-
- import aptsources
- from aptsources.sourceslist import SourcesList
-
- #sys.path.append("@prefix@/share/update-manager/python")
-
- from softwareproperties.gtk.SoftwarePropertiesGtk import SoftwarePropertiesGtk
-
- if __name__ == "__main__":
- _ = gettext.gettext
-
- # Begin parsing of options
- parser = OptionParser()
- parser.add_option ("-d", "--debug", action="store_true",
- dest="debug", default=False,
- help="Print some debug information to the command line")
- parser.add_option ("-m", "--massive-debug", action="store_true",
- dest="massive_debug", default=False,
- help="Print a lot of debug information to the "
- "command line")
- parser.add_option ("-n", "--no-update", action="store_true",
- dest="no_update", default=False,
- help="No update on repository change (useful if called "\
- "from an external program).")
- parser.add_option("-t", "--toplevel",
- action="store", type="string", dest="toplevel",
- help="Set x-window-id of the toplevel parent for the "\
- "dialog (useful for embedding)")
- parser.add_option("-e", "--enable-component",
- action="store", type="string", dest="enable_component",
- help="Enable the specified component of the distro's "\
- "repositories")
- parser.add_option("--open-tab", "",
- action="store", type="string", default=None,
- help="Open specific tab number on startup")
- parser.add_option("--enable-ppa", "",
- action="store", type="string", default=None,
- help="Enable PPA with the given name")
- gtk.init_check()
-
- (options, args) = parser.parse_args()
- # Check for root permissions
- if os.geteuid() != 0:
- dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
- _("You need to be root to run this program") )
- dialog.set_default_response(gtk.RESPONSE_CLOSE)
- dialog.run()
- dialog.destroy()
- sys.exit(1)
-
- localesApp="software-properties"
- localesDir="/usr/share/locale"
- gettext.bindtextdomain(localesApp, localesDir)
- gettext.textdomain(localesApp)
- gtk.glade.bindtextdomain(localesApp, localesDir)
- gtk.glade.textdomain(localesApp)
-
- data_dir="/usr/share/software-properties/"
- file = None
- if len(args) > 0:
- file = args[0]
- if options.enable_ppa:
- app = SoftwarePropertiesGtk(datadir=data_dir, options=options, file=file)
- app.add_source_from_line("ppa:%s" % options.enable_ppa)
- app.sourceslist.save()
- elif options.enable_component:
- sourceslist = SourcesList()
- distro = aptsources.distro.get_distro()
- distro.get_sources(sourceslist)
- distro.enable_component(options.enable_component)
- sourceslist.save()
- else:
- app = SoftwarePropertiesGtk(datadir=data_dir, options=options, file=file)
- app.run()
- sys.exit(app.modified_sourceslist)
-